Skip to content

Install Dart Sass in CI - #563

Merged
alexander-yevsyukov merged 4 commits into
masterfrom
dart-sass-ci
Oct 30, 2026
Merged

alexander-yevsyukov merged 4 commits into
masterfrom
dart-sass-ci

Conversation

@alexander-yevsyukov

Copy link
Copy Markdown
Contributor

Part of SpineEventEngine/site-commons#38. Follows #562, which moved the site to Hugo v0.169.0. This branch was cut from #562's branch, which has since merged.

Why

SpineEventEngine/site-commons#40 switches the theme's stylesheet partial to "transpiler" "dartsass", because Hugo deprecated LibSass in v0.153.0 and will remove it. This site builds its CSS through that partial. Hugo doesn't bundle Dart Sass: it runs the sass binary it finds on PATH. So the site needs that binary in CI before it takes that theme version, or the build fails. Installing it now does no harm: while the site is on LibSass, Hugo ignores it.

Changes

config update

The config submodule moves to config's latest master (f5a8d409), and ./config/pull is re-run. What it brought in:

  • check-links.yml: the pinned Dart Sass 1.99.0 install from Install Dart Sass in the Check Links workflow config#824, i.e. the DART_SASS_VERSION/DART_SASS_SHA256 env entries and the Install Dart Sass and Check Dart Sass steps. The install checks the release tarball's SHA-256, as the workflow already does for Lychee. HUGO_VERSION stays 0.169.0.
  • gradle-wrapper-validation.yml: the push trigger now names master (it said main, which this repo doesn't have). The workflow also gets permissions: contents: read, actions/checkout@v6, gradle/actions/wrapper-validation@v6, and a comment on why Hugo-only repos receive it.
  • .claude/settings.json: Claude Code may now commit and push without a dialog. Force pushes and --mirror pushes still ask.
  • init-submodules and AGENTS.md: the bootstrap script now floats newly initialized config-managed submodules to their branch tip instead of the stale pin. It also finds the right tree when a session runs in a worktree. AGENTS.md describes the new behaviour.

Each of these files is byte-identical to its template in config. .agents/shared is floated on disk but its gitlink isn't committed: it's ignore = all, and ./config/pull never commits it.

gh-pages.yml

The deploy workflow isn't synced from config, so it gets the same env entries and the two steps right after Setup Hugo, without the if: guards. That workflow has no docs detection step to guard on. The step names and run scripts match check-links.yml word for word. The only difference is one comment clause: there, the checksum guards the download "as it does for Lychee below", and gh-pages.yml has no Lychee step.

gh-pages.yml runs only on pushes to master/staging and on manual dispatch, so this PR doesn't exercise it. The same steps run in Check Links on this PR.

README.md

Dart Sass is now a prerequisite, worded as in SpineEventEngine/documentation#95: install it with brew install sass/sass/sass on macOS, and hugo env lists github.com/sass/dart-sass/... when Hugo finds it. docs/project.md doesn't list the build toolchain, so it's unchanged.

Out of scope

🤖 Generated with Claude Code

alexander-yevsyukov and others added 3 commits October 30, 2026 17:15
Brings in the Dart Sass install in `check-links.yml` (SpineEventEngine/config#824),
along with the other files `./config/pull` distributes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copies the `Install Dart Sass` and `Check Dart Sass` steps from `check-links.yml`,
so the deploy build has the `sass` binary once the site takes a `site-commons`
version that compiles with Dart Sass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 30, 2026 17:24
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T17:25:32.153977Z 92757f2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approved

No active review issues remain for the changes preparing the site’s CI for the Dart Sass migration.

No open issues 🎉

What changed in this PR

Prepares the Hugo site’s CI for the upcoming site-commons migration to Dart Sass, without changing the theme version or stylesheet syntax.

Changes:

  • Installs pinned Dart Sass 1.99.0 in deployment and link-check workflows, verifies its checksum, and checks Hugo can discover it.
  • Documents Dart Sass as a local build prerequisite.
  • Refreshes config-managed workflows, submodule bootstrap behavior, and agent settings.
File Description
README.md Adds Dart Sass prerequisites, installation instructions, and discovery checks.
init-submodules Updates shared bootstrap logic to float newly initialized managed submodules and handle worktrees.
AGENTS.md Documents the revised submodule bootstrap behavior.
.github/​workflows/​gradle-wrapper-validation.yml Targets master, adds read-only permissions, and updates actions.
.github/​workflows/​gh-pages.yml Installs and verifies Dart Sass before deployment builds.
.github/​workflows/​check-links.yml Adds conditional Dart Sass installation and verification for site checks.
.claude/​settings.json Allows ordinary commits and pushes without prompts while adding prompts for force and mirror pushes.

Review effort: Balanced

@alexander-yevsyukov
alexander-yevsyukov merged commit c4b6101 into master Oct 30, 2026
4 checks passed
@alexander-yevsyukov
alexander-yevsyukov deleted the dart-sass-ci branch October 30, 2026 17:27
@github-project-automation github-project-automation Bot moved this from 🏗 In progress to ✅ Done in v2.0 Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants